package com.cmc.cloud.cmclink.doc.vo.rulematchitemcfg;

import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 规则匹配项配置 Base VO，提供给添加、修改、详细的子 VO 使用
 * 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
 *
 * @author codegen
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RuleMatchItemCfgBaseVO {


    /**
     * 主键
     */
    @TableId
    @Schema(description = "主键")
    private Long id;

    /**
     * 匹配项名称
     */
    @Schema(description = "匹配项名称")
    private String matchItemName;

    /**
     * 匹配项说明
     */
    @Schema(description = "匹配项说明")
    private String matchItemDes;

    @Schema(description = "使用阶段")
    private String usePeriod;

    /**
     * 检查表名
     */
    @Schema(description = "检查表名")
    private String checkTableName;

    /**
     * 检查字段名
     */
    @Schema(description = "检查字段名")
    private String checkFieldName;

    /**
     * 控件类型
     */
    @Schema(description = "控件类型")
    private String controlType;

    /**
     * 允许的逻辑断言。equals;not equals;less than;less equal;great than;great equal;is any of;is not any of ;between;contains;ends with;sta
     */
    @Schema(description = "允许的逻辑断言")
    private String predicates;
    /**
     * 基础数据来源，决定前端初始化数据时的基础数据取值
     */
    @Schema(description = "基础数据来源")
    private String baseDataSource;

    /**
     * 数据类型，string-文本字符串，number-数字，date-日期，time-时间
     */
    @Schema(description = "数据类型")
    private String dataType;

    /**
     * 数据输入校验配置。长度限制：length-10;非空限制，notNull;只能数字，onlyNumber.如果有多条限制，以分号分隔
     */
    @Schema(description = "数据输入校验配置")
    private String dataLimit;

}
